package com.open.cloud.rbac.config;

import cn.hutool.core.lang.Snowflake;
import com.inspur.micro.core.utils.RSAUtil;
import com.open.cloud.rbac.entity.config.CoreSystemConfig;
import com.open.cloud.rbac.mapper.config.CoreSystemConfigMapper;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.Date;

@Component
public class InitSystemConfig {

    private String defaultPwdKey = "default-password";

    private String defaultEncrypt = "default-encrypt";

    private String defaultRSAPublicKey = "default-public-key";

    private String defaultRSAPrivateKey = "default-private-key";

    @Resource
    private CoreSystemConfigMapper systemConfigMapper;

    @Resource
    private Snowflake snowflake;

    @PostConstruct
    public void init() {
//        CoreSystemConfig defaultPwd = new CoreSystemConfig();
//        defaultPwd.setId(snowflake.nextId());
//        defaultPwd.setConfigKey(defaultPwdKey);
//        defaultPwd.setConfigName("默认密码");
//        defaultPwd.setConfigValue("123456Wp!");
//        defaultPwd.setRemark("默认密码");
//        defaultPwd.setCreateTime(new Date());
//
//        CoreSystemConfig defaultEnc = new CoreSystemConfig();
//        defaultEnc.setId(snowflake.nextId());
//        defaultEnc.setConfigKey(defaultEncrypt);
//        defaultEnc.setConfigName("默认加密方式");
//        defaultEnc.setConfigValue("RSA");
//        defaultEnc.setRemark("加密方式");
//        defaultEnc.setCreateTime(new Date());
//
//        RSAUtil.initKey();
//        CoreSystemConfig publicEnc = new CoreSystemConfig();
//        publicEnc.setId(snowflake.nextId());
//        publicEnc.setConfigKey(defaultRSAPublicKey);
//        publicEnc.setConfigName("RSA加密公钥");
//        publicEnc.setConfigValue(RSAUtil.getPublicKeyStr());
//        publicEnc.setRemark("RSA公钥");
//        publicEnc.setCreateTime(new Date());
//
//        CoreSystemConfig privateEnc = new CoreSystemConfig();
//        privateEnc.setId(snowflake.nextId());
//        privateEnc.setConfigKey(defaultRSAPublicKey);
//        privateEnc.setConfigName("RSA加密公钥");
//        privateEnc.setConfigValue(RSAUtil.());
//        privateEnc.setRemark("RSA公钥");
//        privateEnc.setCreateTime(new Date());

    }
}
